﻿using Hardcodet.Wpf.TaskbarNotification;

namespace Songhay.Wpf.UriTree.Managers
{
    using Songhay.Data.Linq.Opml;

    /// <summary>
    /// Defines interaction logic for <c>Hardcodet.Wpf.TaskbarNotification</c> visuals.
    /// </summary>
    public interface ITaskbarIconManager
    {
        /// <summary>
        /// Builds the menu from local OPML.
        /// </summary>
        /// <param name="opml">The opml.</param>
        void BuildMenuFromLocal(IOpmlSet opml);

        /// <summary>
        /// Builds the menu from remote OPML.
        /// </summary>
        /// <param name="opml">The opml.</param>
        void BuildMenuFromRemote(IOpmlSet opml);

        /// <summary>
        /// Loads the OPML.
        /// </summary>
        void LoadOpml();

        /// <summary>
        /// Records the last loaded OPML node.
        /// </summary>
        /// <param name="itemText">The item text.</param>
        void RecordLastLoadedNode(string itemText);

        /// <summary>
        /// Gets the tray.
        /// </summary>
        /// <value>The tray.</value>
        TaskbarIcon Tray { get; }
    }
}
